/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.intesal.compra.sql;

/**
 *
 * @author ejerez
 */
public class SQLProducto {

    public class ENCA {

        public static final String insert = "INSERT INTO PRODUCTO(codigo_sl,codigo_u,codigo_tp,codigo_m,codigo_barra_p,codigo_barra_original_p,nombre_p,descripcion_p,otra_informacion_p,descontar_inventario_p,estado_p,costo_p)VALUES(?,?,?,?,?,?,?,?,?,?,?,?)";
        public static final String update = "UPDATE PRODUCTO SET codigo_sl=?,codigo_u=?,codigo_tp=?,codigo_m=?,codigo_barra_p=?,codigo_barra_original_p=?,nombre_p=?,descripcion_p=?,otra_informacion_p=?,descontar_inventario_p=?,estado_p=?,costo_p=? where codigo_p=?";
        public static final String getMax = "SELECT max(codigo_p) as max FROM PRODUCTO";
    }

    public class DETA {

        public static final String insert = "INSERT INTO PRODUCTO_SUCURSAL(codigo_s,codigo_p,minimo_ps,maximo_ps,existencia_ps,ubicacion_ps,estado_ps)VALUES(?,?,?,?,?,?,?)";
        public static final String update = "UPDATE PRODUCTO_SUCURSAL SET codigo_s=?,codigo_p=?,minimo_ps=?,maximo_ps=?,existencia_ps=?,ubicacion_ps=?,estado_ps=? where codigo_ps=?";
    }

    public class Consulta {

        public static final String getProductos = "select l.codigo_l,l.nombre_l,sl.codigo_sl,sl.nombre_sl,u.codigo_u,u.nombre_u,m.codigo_m,m.nombre_m,tp.codigo_tp,tp.nombre_tp,p.codigo_p,p.codigo_barra_p,p.codigo_barra_original_p,p.nombre_p,p.descripcion_p,p.otra_informacion_p,p.descontar_inventario_p,p.estado_p,p.costo_p from producto as p,linea as l,sub_linea as sl,unidad as u,marca as m,tipo_producto as tp where tp.codigo_tp=p.codigo_tp and u.codigo_u=p.codigo_u and m.codigo_m=p.codigo_m and l.codigo_l=sl.codigo_l and sl.codigo_sl=p.codigo_sl ";
        public static final String getProductosActivos = "select l.codigo_l,l.nombre_l,sl.codigo_sl,sl.nombre_sl,u.codigo_u,u.nombre_u,m.codigo_m,m.nombre_m,tp.codigo_tp,tp.nombre_tp,p.codigo_p,p.codigo_barra_p,p.codigo_barra_original_p,p.nombre_p,p.descripcion_p,p.otra_informacion_p,p.descontar_inventario_p,p.estado_p,p.costo_p "
                + "  , ( select sum(ps.existencia_ps) from producto_sucursal as ps where ps.codigo_p=p.codigo_p ) total "
                /*+ ", ( select ps.maximo_ps from producto_sucursal as ps where ps.codigo_s=? and ps.codigo_p=p.codigo_p ) maximo, "
                + " ( select ps.minimo_ps from producto_sucursal as ps where ps.codigo_s=? and ps.codigo_p=p.codigo_p ) minimo, "
                + " ( select ps.existencia_ps from producto_sucursal as ps where ps.codigo_s=? and ps.codigo_p=p.codigo_p ) existencia "*/
                + " from producto as p,linea as l,sub_linea as sl,unidad as u,marca as m,tipo_producto as tp where tp.codigo_tp=p.codigo_tp and u.codigo_u=p.codigo_u and m.codigo_m=p.codigo_m and l.codigo_l=sl.codigo_l and sl.codigo_sl=p.codigo_sl and p.estado_p='A' ";
        public static final String getProductosOrderBy = " order by l.nombre_l,sl.nombre_sl,p.nombre_p,p.descripcion_p";
        public static final String getProductosGroupBy = " group by l.codigo_l,l.nombre_l,sl.codigo_sl,sl.nombre_sl,u.codigo_u,u.nombre_u,m.codigo_m,m.nombre_m,tp.codigo_tp,tp.nombre_tp,p.codigo_p,p.codigo_barra_p,p.codigo_barra_original_p,p.nombre_p,p.descripcion_p,p.otra_informacion_p,p.descontar_inventario_p,p.estado_p ";
        public static final String getProductoSucursales = "Select ps.codigo_ps,ps.codigo_p,ps.maximo_ps,ps.minimo_ps,ps.existencia_ps,ps.ubicacion_ps,ps.estado_ps,s.codigo_s,s.nombre_s FROM PRODUCTO_SUCURSAL as ps,SUCURSAL as s where s.codigo_s=ps.codigo_s and ps.codigo_p=? ";
        public static final String getProductoSucursalesActivos = "Select ps.codigo_ps,ps.codigo_p,ps.maximo_ps,ps.minimo_ps,ps.existencia_ps,ps.ubicacion_ps,ps.estado_ps,s.codigo_s,s.nombre_s FROM PRODUCTO_SUCURSAL as ps,SUCURSAL as s where s.codigo_s=ps.codigo_s and ps.estado_ps='A' and ps.codigo_p=? order by s.codigo_s=? desc";        
    }
}
